home *** CD-ROM | disk | FTP | other *** search
- /*
- File: StorageClassShimDS.c
-
- Contains: USB Storage Class Shim Driver Services -
- This file contains all functions related to providing driver services
- to USB Unit Table drivers.
-
- Version: 1.3
-
-
- */
-
- #pragma once
-
- #include <USB.h>
- #include <Dialogs.h>
- #include "StorageClassPublicAPI.h"
-
- // The structures for our DriverInfo queue
- typedef struct DriverInfo DriverInfo, *DriverInfoPtr;
- struct DriverInfo
- {
- DriverInfoPtr nextDriverInfo;
- USBDeviceRef usbDeviceRef;
- USBDeviceRef parentsDeviceRef;
- USBStorageClassSetupTable theSetupTable;
- Str255 VendorProductStr;
- UInt8 usbSubClass;
- UInt8 usbProtocol;
- UInt16 usbVendor;
- UInt16 usbProduct;
- DriverRefNum drvrRefNum;
- Handle drvrHndlInMemory;
- FSSpec driverFile;
- NMRec theAlertNMRec;
- AlertStdAlertParamRec theAlertPR;
- Boolean hasDialog;
- UInt16 messageNumber;
- USBPB configAgainPB;
- CntrlParam controlPB;
- };
-
- extern DriverInfoPtr GetDriverInfoHeadPtr( void );
- extern DriverInfoPtr FindDriverInfoByDrvrRef( DriverRefNum drvrRefNum );
- extern DriverInfoPtr FindDriverInfoByUSBDeviceRef( USBDeviceRef usbDeviceRef );
- extern DriverInfoPtr AddDriverInfoPtr( void );
- extern void RemoveDriverInfoPtr( DriverInfoPtr oldInfoPtr );
-
- extern Boolean InitializeStorageDriverServices( void );
- extern Boolean TerminateStorageDriverServices( void );
- extern StorageClassShimDispatchTablePtr GetShimDispatchTablePtr( void );
- extern OSStatus DisplayNotifcationDialog( DriverRefNum drvrRefNum, UInt16 messageNumber );
- extern OSStatus RemoveNotificationDialog( DriverRefNum drvrRefNum, UInt16 messageNumber );
-